/**
 * (c)Copyright 2008 SinoCredit Co,Ltd. All Rights Reserved.
 * GftUserService.java, 1:28:59 PM
 * @author yipeng
 * @since Jan 9, 2008
 * @version 1.0
 * change list:
 * yipeng   (创建)
 */

package com.sys.service;

import java.util.List;

import com.sys.base.UserBean;
import com.sys.base.service.BaseGftService;
import com.sys.dao.model.GftRight;
import com.sys.dao.model.GftRole;
import com.sys.dao.model.GftUserInfo;
import com.sys.plat.bean.PageBean;

public interface GftUserService extends BaseGftService {

    /**
     * 用户登录校验
     *
     * @param userName 用户各1�7
     * @param password 密码
     * @return UserBean对象
     */
    public UserBean login(String userName, String password);

    public GftUserInfo editUser(String id);

    public List<GftRole> getRolesByUserId(String id);

    public void addOrUpdateUser(GftUserInfo user);

    public void list(PageBean pageBean, String tableName);

    public int deleteUser(String[] ids);

//    public void switchStatus(GftUserInfo user);

    public GftRole editRole(String id);

    public List<GftRight> getRightsByRoleId(String id);

    public void addOrUpdate(Object obj);

//    public void switchRoleStatus(GftRole role);

    public int deleteRole(String[] ids);

    public String getRightIdsByRoleId(String id);

    public void updateRoleRight(String id, String[] rightIdArray);

    public int delUserRole(String[] configId);

    public int delRoleRight(String[] configId);

    public String getRoleIdsByUserId(String id);

    public void updateUserRole(String id, String[] roleIdArray);

    public GftRight editRight(String id);

    public int deleteRight(String[] ids);

    /**
     * 切换对象状�1�7�1�7
     *
     * @param o 对象
     * @param clazz 对象类型
     */
    public void switchStatus(Object o, Class clazz);

    /**
     * 棄1�7查数据库中是否已存在相应数据
     *
     * @param tableName 表名
     * @param columnName 字段各1�7
     * @param columnValue 字段倄1�7
     * @return 存在则返回true, 否则返回false
     */
    public boolean checkObj(String tableName, String columnName, String columnValue);
}
